草庐IT

c++ - SIMD C++ 库

全部标签

c - Go:导入和 C 库之间的类型冲突

为了熟悉Go/C互操作,我想使用git2go/libgit2来使用Redisbackend读取git存储库的数据。.所以我想出了这段代码(去掉了错误处理等),它输出了一个我无法放置的编译错误:./git.go:30:不能在git.NewOdbBackendFromC的参数中使用odbBackendC(类型*C.struct_git_odb_backend)作为类型*git.C.struct_git_odb_backend显然编译器认为git.C.struct_git_odb_backend和C.struct_git_odb_backend是不同的类型,尽管它们是相同的——毕竟系统上只有

c - Go:导入和 C 库之间的类型冲突

为了熟悉Go/C互操作,我想使用git2go/libgit2来使用Redisbackend读取git存储库的数据。.所以我想出了这段代码(去掉了错误处理等),它输出了一个我无法放置的编译错误:./git.go:30:不能在git.NewOdbBackendFromC的参数中使用odbBackendC(类型*C.struct_git_odb_backend)作为类型*git.C.struct_git_odb_backend显然编译器认为git.C.struct_git_odb_backend和C.struct_git_odb_backend是不同的类型,尽管它们是相同的——毕竟系统上只有

c - 预编译部分依赖 C 来提高速度的 Go 程序

我的部分Go程序依赖于使用import"C"的非常大的C代码库,编译需要几分钟。有什么方法可以预编译C库本身或创建我的Go程序的一个分支,该分支将与C代码一起预编译,这样每次编译主程序时我都不必等待整个C库每次都重新编译? 最佳答案 您可以将其与已编译的目标文件和头文件链接,而不是导入整个C源代码。引用https://golang.org/cmd/cgo/其中涵盖了如何为cgo使用LDFLAGS参数。网上还有其他文档介绍了如何将C代码编译成目标文件(.a和.o文件),例如thisone.您还应该引用您正在使用的库中的文档或其Make

c - 预编译部分依赖 C 来提高速度的 Go 程序

我的部分Go程序依赖于使用import"C"的非常大的C代码库,编译需要几分钟。有什么方法可以预编译C库本身或创建我的Go程序的一个分支,该分支将与C代码一起预编译,这样每次编译主程序时我都不必等待整个C库每次都重新编译? 最佳答案 您可以将其与已编译的目标文件和头文件链接,而不是导入整个C源代码。引用https://golang.org/cmd/cgo/其中涵盖了如何为cgo使用LDFLAGS参数。网上还有其他文档介绍了如何将C代码编译成目标文件(.a和.o文件),例如thisone.您还应该引用您正在使用的库中的文档或其Make

Cgo include archive .a 文件

我正尝试在我的Go程序中使用外部C库。我尝试了以下方法:packagecgoexample/*#include#include#cgoCFLAGS:-I/Users/me/somelib/include#cgoLDFLAGS:/Users/me/somelib/libhello.a#include"stinger.h"voidmyprint(char*s){printf("%s",s);}*/import"C"import"unsafe"//...morehere在/Users/me/somelib/include中有.h文件,在libhello.a中有.o文件(我使用ar命令),它具

Cgo include archive .a 文件

我正尝试在我的Go程序中使用外部C库。我尝试了以下方法:packagecgoexample/*#include#include#cgoCFLAGS:-I/Users/me/somelib/include#cgoLDFLAGS:/Users/me/somelib/libhello.a#include"stinger.h"voidmyprint(char*s){printf("%s",s);}*/import"C"import"unsafe"//...morehere在/Users/me/somelib/include中有.h文件,在libhello.a中有.o文件(我使用ar命令),它具

C 常量上的 Cgo 链接器错误

我在使用cgo包装C库时遇到了一组奇怪的链接器错误。我将问题归结为以下几点:一个文件header.h包含#ifndefHEADER_H#defineHEADER_H#defineCONSTANT1("")#defineCONSTANT2""#defineCONSTANT3((char*)0)#defineCONSTANT4(char*)0#endif/*HEADER_H*/而test.go包含packagemain/*#include"header.h"*/import"C"funcmain(){_=C.CONSTANT1_=C.CONSTANT2_=C.CONSTANT3_=C.CO

C 常量上的 Cgo 链接器错误

我在使用cgo包装C库时遇到了一组奇怪的链接器错误。我将问题归结为以下几点:一个文件header.h包含#ifndefHEADER_H#defineHEADER_H#defineCONSTANT1("")#defineCONSTANT2""#defineCONSTANT3((char*)0)#defineCONSTANT4(char*)0#endif/*HEADER_H*/而test.go包含packagemain/*#include"header.h"*/import"C"funcmain(){_=C.CONSTANT1_=C.CONSTANT2_=C.CONSTANT3_=C.CO

CGO 将 Xlib XEvent 结构转换为字节数组?

我正在Golang中创建一个简单的窗口管理器(代码基于tinywm中的c代码)。为了使用Xlib,我使用的是cgo,所以我的标题是://#cgoLDFLAGS:-lX11//#include我有一个变量声明,例如:event:=C.XEvent{}然后,我用它来分配给它,稍后,在事件循环中:C.XNextEvent(display,&event)//Yes,displayisdefined但是当我尝试访问事件的属性时,例如xbutton或xkey,我得到一个错误:event.xbuttonundefined(typeC.XEventhasnofieldormethodxbutton)当

CGO 将 Xlib XEvent 结构转换为字节数组?

我正在Golang中创建一个简单的窗口管理器(代码基于tinywm中的c代码)。为了使用Xlib,我使用的是cgo,所以我的标题是://#cgoLDFLAGS:-lX11//#include我有一个变量声明,例如:event:=C.XEvent{}然后,我用它来分配给它,稍后,在事件循环中:C.XNextEvent(display,&event)//Yes,displayisdefined但是当我尝试访问事件的属性时,例如xbutton或xkey,我得到一个错误:event.xbuttonundefined(typeC.XEventhasnofieldormethodxbutton)当